package com.yanqu.road.entity.activity.suoyao.config;

import com.yanqu.road.entity.activity.ActivityInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class SuoYaoConfig {

    private int activityId;
    private ActivityInfo activityInfo;

    // 探索道具ID
    private int exploreItemId;
    // 积分道具ID
    private int scoreItemId;
    // 灵剑值道具ID
    private int swordItemId;

    // 探索消耗道具数量
    private List<Integer> exploreCountList = new ArrayList<>();

    // 前hideBoxTimes次抽奖，全服共享hideBoxCount个概率luckyPercent的隐藏盲盒，没有了就走正常抽奖逻辑
    private int hideBoxTimes;
    private int hideBoxCount;
    private int luckyPercent;

    // 抽取次数超过hideBoxAddTimes，每次没抽中加hideBoxAddWeight权重
    private int hideBoxAddTimes;
    private int hideBoxAddWeight;

    // 抽盲盒消耗
    private String drawBoxCost;
    // 盲盒IDList
    private List<SuoYaoBoxItemConfig> boxItemConfigList = new ArrayList<>();

    // 一批有多少个盲盒（写死了）
    private int boxBatchCount = 9;

    // Map<楼层，奖励ID，奖励>
    private Map<Integer, Map<Integer, SuoYaoRewardConfig>> floorMap = new ConcurrentHashMap<>();

    // 盲盒图鉴（仅展示用）
    List<SuoYaoBookConfig> bookConfigList = new ArrayList<>();

    //顶部奖励配置
    Map<Integer,SuoYaoTopRewardConfig> topRewardConfigMap = new ConcurrentHashMap<>();

    //爬山图鉴奖励
    Map<Integer,SuoYaoViewBookConfig> viewBookConfigMap= new ConcurrentHashMap<>();

    private int noticeCount;

    /**
     * 累计抽取几次解锁一键抽取 7.3新增
     */
    private int quickUseNum;

    public List<SuoYaoBookConfig> getBookConfigList() {
        return bookConfigList;
    }

    public void setBookConfigList(List<SuoYaoBookConfig> bookConfigList) {
        this.bookConfigList = bookConfigList;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public ActivityInfo getActivityInfo() {
        return activityInfo;
    }

    public void setActivityInfo(ActivityInfo activityInfo) {
        this.activityInfo = activityInfo;
    }

    public int getExploreItemId() {
        return exploreItemId;
    }

    public void setExploreItemId(int exploreItemId) {
        this.exploreItemId = exploreItemId;
    }

    public int getScoreItemId() {
        return scoreItemId;
    }

    public void setScoreItemId(int scoreItemId) {
        this.scoreItemId = scoreItemId;
    }

    public int getSwordItemId() {
        return swordItemId;
    }

    public void setSwordItemId(int swordItemId) {
        this.swordItemId = swordItemId;
    }

    public List<Integer> getExploreCountList() {
        return exploreCountList;
    }

    public void setExploreCountList(List<Integer> exploreCountList) {
        this.exploreCountList = exploreCountList;
    }

    public int getHideBoxCount() {
        return hideBoxCount;
    }

    public void setHideBoxCount(int hideBoxCount) {
        this.hideBoxCount = hideBoxCount;
    }

    public int getHideBoxTimes() {
        return hideBoxTimes;
    }

    public void setHideBoxTimes(int hideBoxTimes) {
        this.hideBoxTimes = hideBoxTimes;
    }

    public int getHideBoxAddWeight() {
        return hideBoxAddWeight;
    }

    public void setHideBoxAddWeight(int hideBoxAddWeight) {
        this.hideBoxAddWeight = hideBoxAddWeight;
    }

    public int getHideBoxAddTimes() {
        return hideBoxAddTimes;
    }

    public void setHideBoxAddTimes(int hideBoxAddTimes) {
        this.hideBoxAddTimes = hideBoxAddTimes;
    }

    public String getDrawBoxCost() {
        return drawBoxCost;
    }

    public void setDrawBoxCost(String drawBoxCost) {
        this.drawBoxCost = drawBoxCost;
    }

    public List<SuoYaoBoxItemConfig> getBoxItemConfigList() {
        return boxItemConfigList;
    }

    public void setBoxItemConfigList(List<SuoYaoBoxItemConfig> boxItemConfigList) {
        this.boxItemConfigList = boxItemConfigList;
    }

    public int getBoxBatchCount() {
        return boxBatchCount;
    }

    public void setBoxBatchCount(int boxBatchCount) {
        this.boxBatchCount = boxBatchCount;
    }

    public Map<Integer, Map<Integer, SuoYaoRewardConfig>> getFloorMap() {
        return floorMap;
    }

    public void setFloorMap(Map<Integer, Map<Integer, SuoYaoRewardConfig>> floorMap) {
        this.floorMap = floorMap;
    }

    public int getNoticeCount() {
        return noticeCount;
    }

    public void setNoticeCount(int noticeCount) {
        this.noticeCount = noticeCount;
    }

    public int getLuckyPercent() {
        return luckyPercent;
    }

    public void setLuckyPercent(int luckyPercent) {
        this.luckyPercent = luckyPercent;
    }

    public Map<Integer, SuoYaoTopRewardConfig> getTopRewardConfigMap() {
        return topRewardConfigMap;
    }

    public void setTopRewardConfigMap(Map<Integer, SuoYaoTopRewardConfig> topRewardConfigMap) {
        this.topRewardConfigMap = topRewardConfigMap;
    }

    public Map<Integer, SuoYaoViewBookConfig> getViewBookConfigMap() {
        return viewBookConfigMap;
    }

    public void setViewBookConfigMap(Map<Integer, SuoYaoViewBookConfig> viewBookConfigMap) {
        this.viewBookConfigMap = viewBookConfigMap;
    }

    public int getQuickUseNum() {
        return quickUseNum;
    }

    public void setQuickUseNum(int quickUseNum) {
        this.quickUseNum = quickUseNum;
    }
}
